home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
misc
/
unix
/
lha_unix_bug.readme
< prev
next >
Wrap
Text File
|
1994-10-19
|
1KB
|
59 lines
Short: Patch for Unix-LhA on DECstations
Uploader: wiedmann@mailserv.zdv.uni-tuebingen.de
Type: misc/unix
Unix-LhA on DECstations has a bug when archiving directories recursively.
The reason is a problem in C with char vs. unsigned char. The problem is
fixed, if you replace the function call
rindex(.., DELIM2)
with
rindex(.., (char) DELIM2)
in src/header.c three times. I include a patchfile below.
Jochen
*** lha-1.00.orig/src/header.c Thu Apr 9 16:43:14 1992
--- lha-1.00/src/header.c Wed Nov 10 09:01:29 1993
***************
*** 701,705 ****
--- 701,709 ----
if (hdr->header_level != HEADER_LEVEL2)
{
+ #ifndef ultrix
if (p = (char *)rindex(hdr->name, DELIM2))
+ #else
+ if (p = (char *)rindex(hdr->name, (char) DELIM2))
+ #endif
name_length = strlen(++p);
else
***************
*** 745,749 ****
--- 749,757 ----
put_word(hdr->unix_gid);
put_word(hdr->unix_uid);
+ #ifndef ultrix
if (p = (char *)rindex(hdr->name, DELIM2))
+ #else
+ if (p = (char *)rindex(hdr->name, (char) DELIM2))
+ #endif
{
int i;
***************
*** 770,774 ****
--- 778,786 ----
{
int i;
+ #ifndef ultrix
if (p = (char *)rindex(hdr->name, DELIM2))
+ #else
+ if (p = (char *)rindex(hdr->name, DELIM2))
+ #endif
name_length = strlen(++p);
else